﻿
//***********************************************************************
// * Module:   MsjBaDwzxzpbaybaHandler
// * 作者:  曹荣芝
// * Modified: 2013/5/30
// * Purpose: Definition of the Class MsjBaDwzxzpbaybaHandler 业务逻辑处理Handler类
// ***********************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using XWG.Framework.MSException;
using XWG.Framework.AuthUtility;
using XWG.Framework.AuthEntity;
using XWG.Framework.AuthSPConst;
using XWG.Framework.AuthBLL;
using XWG.JWBST.JWBSTEntity;
using XWG.JWBST.JWBSTSPConst;
using System.Web.Script.Serialization;
using System.Data;
using XWG.Framework.Query;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using XWG.JWBST.JWBSTBLL;
using XWG.Framework;
namespace JWBSTAPP.AjaxServer
{
    /// <summary>
    /// MsjBaDwzxzpbaybaHandler 的摘要说明
    /// </summary>
    public class MsjBaDwzxzpbaybaHandler : JWBSTAPP.CommonClass.HttpHandlerBase, System.Web.SessionState.IRequiresSessionState
    {

        #region 添加记录
        /// <summary>
        /// 添加记录
        /// </summary>
        protected void AddRecord()
        {
            HttpContext context = HttpContext.Current;
            context.Response.ContentType = "text/plain";
            ResultModel mResultModel = new ResultModel(); //初始化返回类型
            try
            {
                var mUser = AppOrganizatiOnUserBLL.Load(context.Session["UserID"].ToString());
                MsjBaDwzxzpbayba mMsjBaDwzxzpbayba = new MsjBaDwzxzpbayba();
                mMsjBaDwzxzpbayba.Sqid = Guid.NewGuid().ToString(); //主键
                mMsjBaDwzxzpbayba.Dwmc = context.Request.Form["texDwmc"]; //单位名称
                mMsjBaDwzxzpbayba.Gsxz = context.Request.Form["texGsxz"]; //公司详址
                mMsjBaDwzxzpbayba.Yzbm = context.Request.Form["texYzbm"]; //邮政编码
                mMsjBaDwzxzpbayba.Fddbr = context.Request.Form["texFddbr"]; //法定代表人
                mMsjBaDwzxzpbayba.Frdh = context.Request.Form["texFrdh"]; //法人电话
                mMsjBaDwzxzpbayba.Frsj = context.Request.Form["texFrsj"]; //法人手机
                mMsjBaDwzxzpbayba.Fgfzr = context.Request.Form["texFgfzr"]; //分管负责人
                mMsjBaDwzxzpbayba.Fgfzrdh = context.Request.Form["texFgfzrdh"]; //分管负责人电话
                mMsjBaDwzxzpbayba.Fgfzrsj = context.Request.Form["texFgfzrsj"]; //分管负责人手机
                mMsjBaDwzxzpbayba.Lxr = context.Request.Form["texLxr"]; //联系人
                mMsjBaDwzxzpbayba.Lxrdh = context.Request.Form["texLxrdh"]; //联系人电话
                mMsjBaDwzxzpbayba.Lxrsj = context.Request.Form["texLxrsj"]; //联系人手机
                if (string.IsNullOrEmpty(context.Request.Form["texBayrs"]))
                {
                    mMsjBaDwzxzpbayba.Bayrs = 0;
                }
                else
                {
                    mMsjBaDwzxzpbayba.Bayrs = Convert.ToDecimal(context.Request.Form["texBayrs"]); //保安员人数
                }
               
                mMsjBaDwzxzpbayba.Dwlx = context.Request.Form["texDwlx"]; //单位类型
                mMsjBaDwzxzpbayba.Pywygaydwmc = context.Request.Form["texPywygaydwmc"]; //聘用物业保安员单位名称
                mMsjBaDwzxzpbayba.Pywybaygsxz = context.Request.Form["texPywybaygsxz"]; //聘用物业保安员公司详址
                mMsjBaDwzxzpbayba.Pyyzbm = context.Request.Form["texPyyzbm"]; //聘用邮政编码
                mMsjBaDwzxzpbayba.Pywybayfgfzr = context.Request.Form["texPywybayfgfzr"]; //聘用物业保安员分管负责人
                mMsjBaDwzxzpbayba.Pyfzrdh = context.Request.Form["texPyfzrdh"]; //聘用负责人电话
                mMsjBaDwzxzpbayba.Pyfzrsj = context.Request.Form["texPyfzrsj"]; //聘用负责人手机
                mMsjBaDwzxzpbayba.Pywybaylxr = context.Request.Form["texPywybaylxr"]; //聘用物业保安员联系人
                mMsjBaDwzxzpbayba.Pylxrdh = context.Request.Form["texPylxrdh"]; //聘用联系人电话
                mMsjBaDwzxzpbayba.Pylxrsj = context.Request.Form["texPylxrsj"]; //聘用联系人手机
                mMsjBaDwzxzpbayba.Cjsj = DateTime.Now.ToString(); //创建时间(2013-05-28 09:13:01)
                mMsjBaDwzxzpbayba.Cjr = mUser.UserId; //创建人(人员ID)
                mMsjBaDwzxzpbayba.Cjrdw = mUser.OrgnaId; //创建单位(单位ID)
                //mMsjBaDwzxzpbayba.Xgr = context.Request.Form["texXgr"]; //修改人(人员ID)
                //mMsjBaDwzxzpbayba.Xgrdw = context.Request.Form["texXgrdw"]; //修改人单位(单位ID)
                //mMsjBaDwzxzpbayba.Xgsj = context.Request.Form["texXgsj"]; //修改时间(2013-05-28 09:13:01)
                mMsjBaDwzxzpbayba.Enabled = "1"; //是否有效（1有效，0无效）
                mMsjBaDwzxzpbayba.Movesign = "0"; //是否传输（1已，0未）

                mResultModel = MsjBaDwzxzpbaybaBLL.Insert(mMsjBaDwzxzpbayba, context.Session["UserID"], true); //新建操作
                context.Response.Write(JsonConvert.SerializeObject(mResultModel)); //序列化后返回
            }
            catch (Exception ex)
            {
                MSEx.DealErr(ex, "");
                mResultModel.ErrorCode = -9999;
                mResultModel.ISSucceed = false;
                context.Response.Write(JsonConvert.SerializeObject(mResultModel)); //序列化后返回
            }
        }
        #endregion

        #region 删除记录
        /// <summary>
        /// 删除记录
        /// </summary>
        protected void DeleteRecord()
        {

            HttpContext context = HttpContext.Current;
            context.Response.ContentType = "text/plain";
            ResultModel mResultModel = new ResultModel(); //声明返回类型
            try
            {
                string[] arryParamKey = context.Request.Params["id"].ToString().Split(',');
                if (arryParamKey.Length == 0)
                {
                    mResultModel.ErrorCode = -9991;
                    mResultModel.ISSucceed = false;
                    context.Response.Write(JsonConvert.SerializeObject(mResultModel)); //序列化后返回    
                    return;
                }
                MsjBaDwzxzpbayba mMsjBaDwzxzpbayba = new MsjBaDwzxzpbayba();
                foreach (var paramKey in arryParamKey)
                {
                    mResultModel = MsjBaDwzxzpbaybaBLL.Delete(paramKey, context.Session["UserID"], true); //删除对应的信息
                }
                context.Response.Write(JsonConvert.SerializeObject(mResultModel)); ; //序列化后返回
            }
            catch (Exception ex)
            {
                MSEx.DealErr(ex, ""); //写入异常日志
                mResultModel.ErrorCode = -9999; //-9999代码是系统异常通用代码
                mResultModel.ISSucceed = false; //行为执行失败
                context.Response.Write(JsonConvert.SerializeObject(mResultModel)); //序列化后返回
            }

        }
        #endregion
        #region 修改记录
        /// <summary>
        /// 修改记录
        /// </summary>
        protected void EditRecord()
        {
            HttpContext context = HttpContext.Current;
            context.Response.ContentType = "text/plain";
            ResultModel mResultModel = new ResultModel(); //初始化返回类型
            MsjBaDwzxzpbayba mMsjBaDwzxzpbayba = new MsjBaDwzxzpbayba();

            string paramKey = context.Request.Params["id"];
            try
            {

                if (string.IsNullOrEmpty(paramKey))
                {
                    mResultModel.ErrorCode = -9991;
                    mResultModel.ISSucceed = false;
                    context.Response.Write(JsonConvert.SerializeObject(mResultModel)); //序列化后返回    
                    return;
                }
                mMsjBaDwzxzpbayba = MsjBaDwzxzpbaybaBLL.Load(paramKey); //根据键值获取实体信息
                if (mMsjBaDwzxzpbayba != null)
                {
                    var mUser = AppOrganizatiOnUserBLL.Load(context.Session["UserID"].ToString());
                    mMsjBaDwzxzpbayba.Dwmc = context.Request.Form["texDwmc"]; //单位名称
                    mMsjBaDwzxzpbayba.Gsxz = context.Request.Form["texGsxz"]; //公司详址
                    mMsjBaDwzxzpbayba.Yzbm = context.Request.Form["texYzbm"]; //邮政编码
                    mMsjBaDwzxzpbayba.Fddbr = context.Request.Form["texFddbr"]; //法定代表人
                    mMsjBaDwzxzpbayba.Frdh = context.Request.Form["texFrdh"]; //法人电话
                    mMsjBaDwzxzpbayba.Frsj = context.Request.Form["texFrsj"]; //法人手机
                    mMsjBaDwzxzpbayba.Fgfzr = context.Request.Form["texFgfzr"]; //分管负责人
                    mMsjBaDwzxzpbayba.Fgfzrdh = context.Request.Form["texFgfzrdh"]; //分管负责人电话
                    mMsjBaDwzxzpbayba.Fgfzrsj = context.Request.Form["texFgfzrsj"]; //分管负责人手机
                    mMsjBaDwzxzpbayba.Lxr = context.Request.Form["texLxr"]; //联系人
                    mMsjBaDwzxzpbayba.Lxrdh = context.Request.Form["texLxrdh"]; //联系人电话
                    mMsjBaDwzxzpbayba.Lxrsj = context.Request.Form["texLxrsj"]; //联系人手机
                    if (string.IsNullOrEmpty(context.Request.Form["texBayrs"]))
                    {
                        mMsjBaDwzxzpbayba.Bayrs = 0;
                    }
                    else
                    {
                        mMsjBaDwzxzpbayba.Bayrs = Convert.ToDecimal(context.Request.Form["texBayrs"]); //保安员人数
                    }
                    mMsjBaDwzxzpbayba.Dwlx = context.Request.Form["texDwlx"]; //单位类型
                    mMsjBaDwzxzpbayba.Pywygaydwmc = context.Request.Form["texPywygaydwmc"]; //聘用物业保安员单位名称
                    mMsjBaDwzxzpbayba.Pywybaygsxz = context.Request.Form["texPywybaygsxz"]; //聘用物业保安员公司详址
                    mMsjBaDwzxzpbayba.Pyyzbm = context.Request.Form["texPyyzbm"]; //聘用邮政编码
                    mMsjBaDwzxzpbayba.Pywybayfgfzr = context.Request.Form["texPywybayfgfzr"]; //聘用物业保安员分管负责人
                    mMsjBaDwzxzpbayba.Pyfzrdh = context.Request.Form["texPyfzrdh"]; //聘用负责人电话
                    mMsjBaDwzxzpbayba.Pyfzrsj = context.Request.Form["texPyfzrsj"]; //聘用负责人手机
                    mMsjBaDwzxzpbayba.Pywybaylxr = context.Request.Form["texPywybaylxr"]; //聘用物业保安员联系人
                    mMsjBaDwzxzpbayba.Pylxrdh = context.Request.Form["texPylxrdh"]; //聘用联系人电话
                    mMsjBaDwzxzpbayba.Pylxrsj = context.Request.Form["texPylxrsj"]; //聘用联系人手机
                    //mMsjBaDwzxzpbayba.Cjsj = context.Request.Form["texCjsj"]; //创建时间(2013-05-28 09:13:01)
                    //mMsjBaDwzxzpbayba.Cjr = context.Request.Form["texCjr"]; //创建人(人员ID)
                    //mMsjBaDwzxzpbayba.Cjrdw = context.Request.Form["texCjrdw"]; //创建单位(单位ID)
                    mMsjBaDwzxzpbayba.Xgr = mUser.UserId; //修改人(人员ID)
                    mMsjBaDwzxzpbayba.Xgrdw = mUser.OrgnaId; //修改人单位(单位ID)
                    mMsjBaDwzxzpbayba.Xgsj = DateTime.Now.ToString(); //修改时间(2013-05-28 09:13:01)
                    mMsjBaDwzxzpbayba.Enabled = "1"; //是否有效（1有效，0无效）
                    //mMsjBaDwzxzpbayba.Movesign = context.Request.Form["texMovesign"]; //是否传输（1已，0未）

                    mResultModel = MsjBaDwzxzpbaybaBLL.Update(mMsjBaDwzxzpbayba, context.Session["UserID"], true); //新建操作
                }
                else
                {
                    mResultModel.ErrorCode = -9990; //没有获取所需的信息，信息可能已被删除
                    mResultModel.ISSucceed = false;

                }
                context.Response.Write(JsonConvert.SerializeObject(mResultModel)); //序列化后返回
            }
            catch (Exception ex)
            {
                MSEx.DealErr(ex, "");
                mResultModel.ErrorCode = -9999;
                mResultModel.ISSucceed = false;
                context.Response.Write(JsonConvert.SerializeObject(mResultModel)); //序列化后返回
            }
        }
        #endregion

        #region 获取实体记录
        /// <summary>
        /// 获取实体记录
        /// </summary>
        protected void GetModel()
        {
            HttpContext context = HttpContext.Current;
            context.Response.ContentType = "text/plain";
            ResultModel mResultModel = new ResultModel(); //初始化返回类型
            string paramKey = context.Request.Params["id"];
            string json = "";
            try
            {
                MsjBaDwzxzpbayba mMsjBaDwzxzpbayba = new MsjBaDwzxzpbayba(); //声明实体
                if (!string.IsNullOrEmpty(paramKey))
                {
                    mMsjBaDwzxzpbayba = MsjBaDwzxzpbaybaBLL.Load(paramKey); //根据键值获取管理员
                    if (mMsjBaDwzxzpbayba != null)
                    {
                        json = JsonConvert.SerializeObject(mMsjBaDwzxzpbayba);
                    }
                }
            }
            catch (Exception ex)
            {
                MSEx.DealErr(ex, "");
                mResultModel.ErrorCode = -9990;
                mResultModel.ISSucceed = false;
                json = JsonConvert.SerializeObject(mResultModel);
            }
            context.Response.Write(json);
        }
        #endregion
        #region 获取数据
        /// <summary>
        /// 获取数据记录
        /// </summary>
        protected void QueryRecord()
        {
            TableMessage tm = new TableMessage();
            HearderMessage hm = new HearderMessage();
            List<HearderMessage> list = new List<HearderMessage>();
            HttpContext context = HttpContext.Current;
            context.Response.ContentType = "text/plain";
            string pageSize = context.Request.Form["pageSize"];
            string pageIndex = context.Request.Form["pageIndex"];
            if (String.IsNullOrEmpty(pageSize) || String.IsNullOrEmpty(pageIndex) || !AnyString.IsNumeric(pageSize) || !AnyString.IsNumeric(pageIndex))
                return;
            DataTable dtMsjBaDwzxzpbayba = new DataTable();
            int intPageSize = Convert.ToInt32(pageSize);
            int intPageIndex = Convert.ToInt32(pageIndex);
            string name = context.Request.Form["texName"];
            string dwmc = context.Request.Form["twxdw"];
            QueryByPage Q = new QueryByPage();
            QueryInfo qInfo = new QueryInfo();
            SqlConditionList sqllist = new SqlConditionList();
            sqllist.AddLogic(new SqlConditionList.SqlCondition(SqlCompareOper.EQUAL, MsjBaDwzxzpbaybaConst.Columns.Enabled, "1"), SqlLogicOper.AND_LOGIC);
            if (!string.IsNullOrEmpty(name))
            {
                sqllist.AddLogic(new SqlConditionList.SqlCondition(SqlCompareOper.LIKE, MsjBaDwzxzpbaybaConst.Columns.Dwmc, '%' + name + '%'), SqlLogicOper.AND_LOGIC);
            }
            if (!string.IsNullOrEmpty(dwmc))
            {
                sqllist.AddLogic(new SqlConditionList.SqlCondition(SqlCompareOper.LIKE, MsjBaDwzxzpbaybaConst.Columns.Pywygaydwmc, '%' + dwmc + '%'), SqlLogicOper.AND_LOGIC);
            }


            dtMsjBaDwzxzpbayba = Q.GetRecordByPage("*", sqllist.ToSql(), "CJSJ", intPageSize, intPageIndex, MsjBaDwzxzpbaybaConst.TableName, MsjBaDwzxzpbaybaConst.FieldKey, "DESC").Tables[0];
            if (dtMsjBaDwzxzpbayba != null && dtMsjBaDwzxzpbayba.Rows.Count > 0)
            {
                for (int i = 0; i < dtMsjBaDwzxzpbayba.Columns.Count; i++)
                {
                    hm = new HearderMessage();
                    hm.name = dtMsjBaDwzxzpbayba.Columns[i].Caption;
                    list.Add(hm);
                }
                tm.Header = list;
                tm.data = dtMsjBaDwzxzpbayba;
                tm.totalCount = Convert.ToString((int)Q.RowCount);
            }
            string json = JsonConvert.SerializeObject(tm);
            context.Response.Write(json);
        }
        #endregion

    }
}


